草庐IT

ios - 字典的 NSArray

全部标签

c# - 无法解析 Unity 容器中的字典

我刚刚偶然发现了这个:在Unity容器中,我想注册IDictionary;假设它是IDictionary_unityContainer=newUnityContainer().RegisterType,Dictionary>();但如果我尝试vard=_unityContainer.Resolve>();无法解析...我明白了...Microsoft.Practices.Unity.ResolutionFailedException:Microsoft.Practices.Unity.ResolutionFailedException:解析依赖失败,type="System.Colle

c# - 删除最旧元素的大小有限的字典?

是否有可用于散列数据的现有数据结构能够删除最旧的元素?我现在正在考虑的方法是使用字典和队列进行快速查找,并能够使用队列从字典中删除最旧的元素。 最佳答案 您可以使用OrderedDictionary.这将保持插入顺序(与SortedDictionary不同,后者将按键排序)。然后,您可以删除第一个被认为是最旧的可用元素。 关于c#-删除最旧元素的大小有限的字典?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow

c# - 可移植类库不支持System.IO,为什么?

我创建了一个可移植类库,用于我的Monodroid项目。但问题是我需要System.IO库,但不幸的是我无法添加它。我什至尝试通过“添加引用”选项添加它,但没有成功。为什么会这样?我该怎么做? 最佳答案 您不能使用System.IO,因为它不是可移植类库。System.IO进行特定于其运行的操作系统(Windows)的调用,而可移植类库是跨平台的。可以找到您正在寻找的解决方案here:Whatshouldyoudowhenyou’retryingtowriteaportablelibrarybutyouneedsomefunctio

c# - 如何检查 System.IO.File.Delete 是否成功删除文件

使用system.io.file类删除文件后:System.IO.File.Delete(openedPdfs.path);如果文件被成功删除,我需要运行一些代码。只要该方法不返回任何值,我就会在delete方法之后检查文件是否存在。如果它仍然存在,我认为操作失败。问题是,删除方法工作正常,但要删除文件需要几秒钟。Exist函数返回true,因为当时它正在检查文件是否存在。我如何确定System.IO.File.Delete(openedPdfs.path);是否成功完成?代码:FileInfofile=newFileInfo(openedPdfs.path);System.IO.Fi

c# - 在遍历字典时删除

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Modifying.NETDictionarywhileEnumeratingthroughit我有一个字典对象,我对其进行迭代并执行一些操作。根据条件,我应该删除或保留我当前正在迭代的键值对。在遍历字典时从字典中删除键值对的最佳方法是什么?我尝试使用单独的字典对象来跟踪要删除的元素,但我不确定如何使用它从我的主字典中删除,或者这是否是最有效的方法。

C# LINQ - 将嵌套字典转换为列表

我如何将嵌套字典展平为一些对象列表(下例中的SomeObject),这些对象应该保存这些字典的键?例如:让我们有一个如下类型的字典varnestedDictionary=newDictionary>();那我们上这个类吧publicclassSomeObject{publicintvar1;publicintvar2;publicstringsomeStringVar;}如何转换nestedDictionary到List其中var1是外部字典的键,var2是内部字典的关键,someStringVar是内部字典的字符串值?本质上,我该如何传输:nestedDict[0][0]="foo"

c# - 我可以比较两个字典的键吗?

使用C#,我想具体比较两个词典,两个具有相同键但不同值的词典,我找到了一个方法Comparer但我不太确定如何使用它?除了遍历每个键,还有其他方法吗?Dictionary[{key:value}]Dictionary1[{key:value2}] 最佳答案 如果您只想查看键是否不同但不知道它们是什么,您可以在每个键的Keys属性上使用SequenceEqual扩展方法词典:Dictionarydictionary1;Dictionarydictionary2;varsame=dictionary1.Count==dictionary

c# - 带元组键的不区分大小写的字典

我有一个字典,其中的键是一个元组,其中第一项是日期,第二项是字符串。我希望字典不区分大小写。我知道如果键只是一个字符串,我可以在声明字典时将StringComparer.OrdinalIgnoreCase作为参数传递,但是当键是元组时这似乎不起作用。有没有办法指定StringComparer用于元组的第二项?谢谢 最佳答案 使用thisoverloadDictionary构造函数的一部分,它允许您为键指定自定义比较器。你会伴随着创建一个类来实现IEqualityComparer>可能看起来像这样:classCustomEqualit

c# - 带条目限制的字典

我需要提供对跨session的所有用户持续存在的键/值对存储的访问权限。我可以很容易地为此创建一个单例,但出于性能原因,我想将字典的大小限制为10000个项目(或任何性能数字,因为该对象将无限期存在)是否有一种字典形式,我可以在其中指定存储对象数量的限制,并在超过该限制时删除最旧的条目? 最佳答案 没有这样的内置词典,但您可以构建自己的词典。您将需要一个key队列-这将使您能够快速找到最旧的条目并将其删除。此外,您还需要一个简单的字典来保存您的值-这将使您能够快速搜索它们:publicclassSuperDictionary{pri

c# - 如何在字典键上执行 "like"?

我怎样才能通过“点赞”来找到字典键?我目前正在做:mydict.ContainsKey(keyName);但是有些keyNames附加了一个额外的词(用空格分隔),我想做一个“喜欢”或.StartsWith()。比较将如下所示:"key1"=="key1"//match"key1"=="key1someword"//partialmatch我需要在这两种情况下进行匹配。 最佳答案 您可以使用LINQ来执行此操作。这里有两个例子:boolanyStartsWith=mydict.Keys.Any(k=>k.StartsWith("ke